#![allow(unused_imports)]
use super::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
    # [ wasm_bindgen ( extends = :: js_sys :: Object , js_name = Location , typescript_type = "Location" ) ]
    #[derive(Debug, Clone, PartialEq, Eq)]
    #[doc = "The `Location` class."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub type Location;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = href ) ]
    #[doc = "Getter for the `href` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/href)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn href(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = href ) ]
    #[doc = "Setter for the `href` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/href)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_href(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = origin ) ]
    #[doc = "Getter for the `origin` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn origin(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = protocol ) ]
    #[doc = "Getter for the `protocol` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/protocol)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn protocol(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = protocol ) ]
    #[doc = "Setter for the `protocol` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/protocol)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_protocol(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = host ) ]
    #[doc = "Getter for the `host` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/host)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn host(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = host ) ]
    #[doc = "Setter for the `host` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/host)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_host(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = hostname ) ]
    #[doc = "Getter for the `hostname` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn hostname(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = hostname ) ]
    #[doc = "Setter for the `hostname` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_hostname(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = port ) ]
    #[doc = "Getter for the `port` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/port)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn port(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = port ) ]
    #[doc = "Setter for the `port` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/port)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_port(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = pathname ) ]
    #[doc = "Getter for the `pathname` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/pathname)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn pathname(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = pathname ) ]
    #[doc = "Setter for the `pathname` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/pathname)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_pathname(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = search ) ]
    #[doc = "Getter for the `search` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/search)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn search(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = search ) ]
    #[doc = "Setter for the `search` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/search)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_search(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( structural , catch , method , getter , js_class = "Location" , js_name = hash ) ]
    #[doc = "Getter for the `hash` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/hash)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn hash(this: &Location) -> Result<String, JsValue>;
    # [ wasm_bindgen ( structural , catch , method , setter , js_class = "Location" , js_name = hash ) ]
    #[doc = "Setter for the `hash` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/hash)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn set_hash(this: &Location, value: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( catch , method , structural , js_class = "Location" , js_name = assign ) ]
    #[doc = "The `assign()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/assign)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn assign(this: &Location, url: &str) -> Result<(), JsValue>;
    # [ wasm_bindgen ( catch , method , structural , js_class = "Location" , js_name = reload ) ]
    #[doc = "The `reload()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/reload)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn reload(this: &Location) -> Result<(), JsValue>;
    # [ wasm_bindgen ( catch , method , structural , js_class = "Location" , js_name = reload ) ]
    #[doc = "The `reload()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/reload)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn reload_with_forceget(this: &Location, forceget: bool) -> Result<(), JsValue>;
    # [ wasm_bindgen ( catch , method , structural , js_class = "Location" , js_name = replace ) ]
    #[doc = "The `replace()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Location/replace)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Location`*"]
    pub fn replace(this: &Location, url: &str) -> Result<(), JsValue>;
}
